<?php
require_once("config.php");
class Router extends Fend
{
    protected $_tpl = '';
    protected $user = array();

    public function Init()
    {
        $this->_tpl = new smarty();
        $this->_tpl->setTemplateDir(SYS_VIEW);
        $this->_tpl->setCompileDir(SYS_CACHE.'smartycompire/');
        $this->_tpl->setCacheDir(SYS_CACHE.'smarty/');
        $this->_tpl->setConfigDir(SYS_CACHE.'smartyconf/');
    }


    /**
     * 注册变量到模板
     * 注意: 在函数体内的变量实现完全拷贝,会重复占用内存以及CPU资源
     * 建议使用refVar引用传递
     *
     * @param string  $strVar 变量指针
     * @param string  $tplVar 模板中的变量名称
     * @param integer $tp     是否引用注册
     **/
    protected  function regVar($strVar,$tplVar='tmy')
    {
        $this->_tpl->assign($tplVar,$strVar);
    }

    /**
     * 引用变量到模板
     * 注意: 呼叫时参量1必须为变量,不能为常量
     * 是一种节省资源的传递方式
     *
     * @param string  $strVar 变量指针
     * @param string  $tplVar 模板中的变量名称
     * @param integer $tp     是否引用注册
     **/
    protected function refVar(&$strVar,$tplVar='tmy')
    {
        $this->_tpl->assignbyref($tplVar,$strVar);
    }

    /**
     * 处理模板并回显
     *
     * @param string $tplVar 模板文件名称
     **/
    protected function showView($tplVar,$tplPre='.tpl')
    {
        //传递一个变量到Smarty模版内部
        $tplVar=empty($this->uri[1]) ? $tplVar : $this->uri[1].'/'.$tplVar;
        $this->_tpl->display($tplVar.$tplPre);
    }

}
